Image processing apparatus, method, program and recording medium for extracting embedded information

ABSTRACT

An image processing apparatus for extracting embedded information that is embedded in an image is provided. The image processing apparatus includes: an information extraction unit configured to extract the embedded information from the image; an executable function determination unit configured to determine one or more executable functions according to the embedded information that is extracted; a display unit configured to display a list of the one or more executable functions determined by the executable function determination unit.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image processing apparatus, an imageprocessing method, an image processing program, and a computer readablemedium. More particularly, the present invention relates to an imageprocessing apparatus, an image processing method, an image processingprogram, and a computer readable medium for extracting informationembedded in an image.

2. Description of the Related Art

In recent years, techniques have been developed for embedding some kindof additional information other than originally written information inprinted material that is a kind of a recording medium so as to add valueto the printed material. Barcode is one of the technique well known fromthe past. However, as to the barcode, it is necessary to keep an areafor embedding the barcode on a paper for embedding additionalinformation. In addition, when the barcode is embedded as securityinformation such as restriction information for preventing illegal copy,there is a problem in that the barcode and original printed informationare separated.

For solving such problems, a technique has been proposed for arranginginconspicuous patterns on a background of the printed material.

For example, Japanese Patent No. 3181866 discloses a recording medium onwhich dot code that is optically readable is embedded as multimediainformation, and discloses a system for reading the dot code so as toreproduce and output the original multimedia information.

Japanese Patent No. 3628312 discloses a method for adding secretinformation to a document image in a form other than characters, anddiscloses a method for detecting secret information from a printeddocument.

Japanese Laid-Open Patent Application No. 2003-187290 discloses anapparatus for extracting and processing information embedded in avaluable paper that is stuck to a distributed object.

In addition, Japanese Laid-Open Patent Application No. 2003-283797discloses a method for embedding information using dot patterns forembedding copy right information into printer matter withoutdeteriorating image quality.

However, in the above-mentioned techniques, since information isembedded as a form that is indiscernible for human eyes. Therefore, ifsuch techniques are applied to various purposes, it is very difficultfor a user to identify what information is embedded in the image(printed material) and to identify what is the use only by viewing theimage (printed material).

SUMMARY OF THE INVENTION

An object of the present invention is to provide techniques for a userto be able to easily identify executable functions based on informationembedded in an image.

The object is achieved by an image processing apparatus for extractingembedded information that is embedded in an image, comprising:

an information extraction unit configured to extract the embeddedinformation from the image;

an executable function determination unit configured to determine one ormore executable functions according to the embedded information that isextracted;

a display unit configured to display a list of the one or moreexecutable functions determined by the executable function determinationunit.

The present invention can be also configured as an image processingmethod used in the image processing apparatus, an image processingprogram for causing a computer to function as the image processingapparatus, and a computer readable recording medium storing the imageprocessing program.

According to the present invention, techniques for a user to be able toeasily identify executable functions based on embedded information canbe provided.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects, features and advantages of the present invention willbecome more apparent from the following detailed description when readin conjunction with the accompanying drawings, in which:

FIG. 1 shows a configuration example of an information processingapparatus in a first embodiment;

FIG. 2 shows a flowchart for explaining a process procedure of theinformation processing apparatus in the first embodiment;

FIG. 3 shows a display example of a file dialog;

FIG. 4 shows an example of an object image in the first embodiment;

FIG. 5 shows an example of a format of the embedded information;

FIG. 6 shows a correspondence table between extracted information andexecutable functions;

FIG. 7 shows an example of the list of the executable functions madebased on the extraction information;

FIG. 8 shows a display example of a list of executable functions in thefirst embodiment;

FIG. 9 shows a configuration example of a multifunctional machine in asecond embodiment;

FIG. 10 is a flowchart for explaining a process procedure of themultifunctional machine in the second embodiment;

FIG. 11 shows an example of an operation panel;

FIG. 12 shows an example of a printed document in the second embodiment;and

FIG. 13 shows a display example of the list of the executable functionsin the second embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following, embodiments of the present invention are describedwith reference to figures. In a first embodiment, an example isdescribed in which an image processing apparatus is configured by usingan information processing apparatus such as a PC. That is, an example isexplained in which the information processing apparatus such as a PCextracts embedded information from a document image in which theembedded information is embedded as digital watermark.

FIG. 1 shows a configuration example of an information processingapparatus in the first embodiment. The information processing apparatusshown in FIG. 1 includes a HDD (Hard Disk Drive) 102, a memory 103, acentral processing unit 104, a device controller 105 and a networkcontroller 106 which are connected to each other.

A program for realizing functions of the information processingapparatus 10 is provided by a recording medium such as a CD-ROM. Theprogram recorded in the recording medium 101 is stored in the HDD 102 byinstalling the program. The HDD 102 stores the installed program andstores various data (image data and the like) necessary for processingby the program.

When the program is instructed to launch, the program is read from theHDD 102 and is stored in the memory 103. The central processing unit 104executes functions of the information processing apparatus 10 accordingto the program in the memory 103. The device controller 105 controlsexternal devices such as the display apparatus 107 and the inputapparatus 108 and the like. The network controller 106 controls networkcommunications.

The display apparatus 107 displays information. The input apparatus 108includes a keyboard and a mouse, and is used for inputting variousoperation instructions.

The information processing apparatus 10 may be connected to anothercomputer (external server 50) via a network (that may include a cablenetwork or a wireless network) such as a LAN (Local Area Network) or theInternet.

By the way, functions realized by the program include a process objectimage obtaining unit 11, a determination unit 12, an informationextraction unit 13, a function list generation unit 14, a function listdisplay unit 15, a function selection unit 16 and a function executionunit 17 and the like. Functions of each unit is described later. Sincethe functions are realized in the information processing apparatus bythe program, the functions are written in the memory 103 that stores theprogram for the sake of convenience in FIG. 1.

In the following, a process procedure of the information processingapparatus 10 of FIG. 1 is described in the following. FIG. 2 is aflowchart for explaining the process procedure of the informationprocessing apparatus 10 in the first embodiment.

In step S101, the process object image obtaining unit 11 causes thedisplay apparatus 107 to display a file dialog shown in FIG. 3, forexample.

FIG. 3 shows a display example of the file dialog. The file dialog 110shown in FIG. 3 is similar to one generally used. That is, the user mayenter a file name in a text box 111 directly, or the user may select afile name from a folder list displayed by clicking a reference button112.

When a read button 113 is clicked, the process object image obtainingunit 11 obtains an image stored in a file selected by the user on thefile dialog 110 as an image of a process object (to be referred to as“object image” hereinafter), and stores the image into the memory 103.By the way, the destination from which the file is obtained is notlimited to the HDD 102 in the information processing apparatus 10, andit may be an external HDD, a portable HDD, or an external server 50 orthe like.

In this embodiment, a case is described in which a document image inwhich information is embedded by digital watermarking is selected as theobject image.

FIG. 4 shows an example of the document image as the object image in thefirst embodiment. The document image shown in FIG. 4 includes at leastcharacters or character strings. Information is embedded by changing acontour of the characters or changing character intervals, for example.The embedded information may include any one or any combination of anauthor ID of the object image, generation date and time of the objectimage, link information to original data (file) of the object image, URLto a predetermined Web page, a mail address, FAX number, a storinglocation of the object image and the like.

Irrespective of embedding methods, each piece of embedded information isembedded using the following format, for example. FIG. 5 shows anexample of a format of the embedded information.

As shown in FIG. 5, the embedding information includes headerinformation and data. The header information is for identifying type ormeaning of the embedding information. A value is predetermined for eachtype of embedding information. For example, 0×01 corresponds to theauthor ID, 0×02 corresponds the generation date and time, and 0×03corresponds link information. In addition, data is informationindicating contents of the embedded information. Therefore, for example,when the header information is 0×01, the author ID is stored in theembedded information.

Next, the determination unit 12 determines whether information isembedded in the object image. That is, the determination unit 12determines whether digital watermark is added to the object informationin step S102. Since it is generally difficult to identify digitalwatermark, such determination step is necessary. In this step, it isdesirable to determine presence or absence of the embedded informationfor each of plural kinds of embedding methods such as methods of twodimensional barcode or dot pattern or the like. In this embodiment,although an example is explained in which information is embedded bydigital watermarking, there may be a case where the embedding method isunknown. In such a case, by performing the determination process foreach of plural embedding methods, information can be extracted moreflexibly. In this case, when the embedded information is detected by anyone of the methods, it is determined that information is embedded in theobject image. When the embedded information is not detected by anymethod, it is determined that information is not embedded in the objectimage.

When the information is not embedded in the object image, thedetermination unit 12 causes the display apparatus 107 to display anerror message and ends the process in step S108.

On the other hand, when the information is embedded, the informationextraction unit 13 extracts embedded information (digital watermarkinformation) from the object image in step S103. Information extractedin this step is called extraction information hereinafter. As mentionedabove, there may be a case where plural kinds of pieces of informationare embedded in an object image. Therefore, plural kinds of pieces ofextraction information may be extracted.

Next, the function list generation unit 14 makes a list of executablefunctions using the extraction information in step S104. It is desirableto store a corresponding table shown in FIG. 6 in the HDD 102 beforehandso as to make the list of the executable functions based on thecorrespondence table.

FIG. 6 shows the correspondence table between extraction information andexecutable functions. The correspondence table 120 is configured suchthat one can identify each executable function corresponding to a kindof the extraction information. For example, the correspondence table 120indicates that, when both of the author ID and the generation date andtime are extracted, a function for checking source information (functionfor displaying source information) is executable. In the same way, whenURL, mail address, FAX number or storing location is extracted, theexecutable function is access to a Web page (home page related to theobject image) of the URL, mail sending to the mail address (send theobject image, for example), FAX sending to the FAX number (send theobject image by FAX, for example), or distribution to the storinglocation (distribute the object image to a folder corresponding to theobject image).

Therefore, the function list generation unit 14 determines a kind of theextraction information based on the header information of eachextraction information, so as to extract the executable function fromthe correspondence table 120 using the determination result. By the way,relationship of each executable function is not alternative orexclusive. When plural kinds of pieces of extraction information areextracted, plural functions may be executable.

FIG. 7 shows an example of the list of the executable functions that ismade based on the extraction information. FIG. 7 shows a case where theauthor ID, the generation date and time, the URL, and the mail addressare extracted at the same time as the extraction information. In thiscase, based on the correspondence table 120 shown in FIG. 6, executablefunctions to be extracted are checking of source information, access toa related home page, and mail sending.

Next, the function list display unit 15 causes the display apparatus 107to display the list of the executable functions in step S105.

FIG. 8 shows a display example of the list of the executable functionsin the first embodiment. In FIG. 8, the list of the executable functionsis displayed by a dialog (to be referred to as executable functionselection dialog 130 hereinafter) for selecting a function (executionfunction) to be actually executed from the executable functions. Theexecutable function selection dialog 130 displays buttons eachcorresponding to a function of the listed executable functions, so as tobe able to select an execution function. The function list display unit15 determines whether each function of the listed execution functions isactually usable. The function list display unit 15 grays out each buttoncorresponding to a function determined to be unusable (FAX sending inthis example) such that a user cannot use the function. Alternatively,the information processing apparatus 10 may display a list of usablefunctions on the executable function selection dialog 130 such thatfunctions extracted as executable functions based on the extractioninformation are selectable from the list, and that other functions aregrayed out to be un-selectable. By the way, in the figure, graying outof the button is represented by drawing the button using dotted lines.

Next, the function selection unit 16 receives selection result of anexecution function from a user in step S106. That is the user selects abutton corresponding to a function that the user wants to execute on theexecution function selection dialog 130 using a mouse and the like, andclicks the execution button 131 so that the execution function isselected. By the way, plural execution functions may be selected.

When the execution button 131 is clicked, the function execution unit 17determines whether at least one execution function is selected. When atleast one execution function is selected, the function execution unit 17executes a function selected by the user in step S107. The informationprocessing apparatus may automatically display the execution functionselection dialog 130 after executing the function such that the user canselect execution functions continuously. In this case, the informationprocessing apparatus 10 may highlight a button corresponding to alreadyexecuted functions, or may display a predetermined mark such that theuser can identify already executed functions and functions not yetexecuted. When a cancel button 132 is clicked on the execution functionselection dialog 130, the function execution unit 17 ends the processwithout executing any function.

Next, a second embodiment is described. In the second embodiment, anexample using an image processing apparatus such as a copy machine and amultifunctional machine is described. That is, an example is explainedin which the image processing apparatus extracts embedded informationfrom a printed document in which information is embedded as a tint blockpattern (background pattern).

FIG. 9 shows a configuration example of the multifunctional machine inthe second embodiment. In FIG. 9, same reference symbols are assigned tothe same parts in FIG. 1.

In FIG. 9, the multifunctional machine 20 includes an HDD 202, a memory203, a central processing unit 204, an operation panel 205, a readingapparatus 206, a printing apparatus 207, and a network controller 208which are connected to each other.

A program for realizing functions of the multifunctional machine 20 isprovided by a recording medium 201 such as a SD card. The program storedin the recording medium 201 is stored in the HDD 202 by installing theprogram. The HDD 202 stores the installed program and stores variousdata (image data and the like) necessary for processing the program.

When the program is instructed to launch, the program is read from theHDD 202 and is stored in the memory 203. The central processing unit 204executes the program to realize functions of the multifunctional machine20. The operation panel 205 receives inputs from a user and displaysvarious information. The reading apparatus 206 scans an image printed ona printed document. The printing apparatus 207 prints image data. Thenetwork controller 208 controls network communications.

By the way, functions realized by the program include a process objectimage obtaining unit 21, a determination unit 22, an informationextraction unit 23, a function list generation unit 24, a function listdisplay unit 25, a function selection unit 26 and a function executionunit 27 and the like. These corresponds to the process object imageobtaining unit 11, the determination unit 12, the information extractionunit 13, the function list generation unit 14, the function list displayunit 15, the function selection unit 16 and the function execution unit17 in the first embodiment.

In the following, a process procedure of the multifunctional machine 20of FIG. 9 is described. FIG. 10 is a flowchart for explaining theprocess procedure of the multifunctional machine 20 in the secondembodiment.

In step S201, the process object image obtaining unit 21 reads theobject image from the printed document according to operation by theuser on the operation panel 205.

FIG. 11 shows an example of the operation panel. When the user sets theprinted document on the reading apparatus 206 of the multifunctionalmachine 20 and pushes a start button 2051 of the operation panel 205, anobject image is read and is stored in the memory 203.

In the following, a case is explained in which the object image is readfrom a printed document in which information is embedded using a tintblock pattern.

FIG. 12 shows an example of the printed document in the secondembodiment. In the example of the printed document shown in FIG. 12,information is embedded by arranging a dot pattern 0 “:” representing abit value “0” and a dot pattern 1 “^(. .)” representing a bit value “1”like a lattice as the tint block pattern. Although the method forembedding information using a tint block pattern is not limited to anyparticular one, the method is described in Japanese Laid-Open PatentApplication No. 2003-283797 in detail.

The embedded information in the printed document may include any one orany combination of an author ID of the object image, generation date andtime of the object image, link information to original data (file) ofthe object image, URL to a predetermined Web page, a mail address, a FAXnumber, a storing location of the object image and the like. The form ofthe embedded information can be the same as one in the first embodiment(FIG. 5).

Next, the determination unit 22 determines whether information isembedded in the object image. That is, the determination unit 22determines whether the dot pattern can be detected from the objectinformation in step S202. In this step, in the same way as the firstembodiment, it is desirable to determine presence or absence of theembedded information for each of plural kinds of embedding methods. Inthis case, when the embedded information is detected by any one of themethods, it is determined that information is embedded in the objectimage. When the embedded information is not detected in any method, itis determined that information is not embedded in the object image.

When the dot pattern is not detected in the object image, thedetermination unit 22 causes the operation panel 205 to display an errormessage and ends the process in step S208.

On the other hand, when the dot pattern is detected, the informationextraction unit 23 extracts embedded information embedded as the dotpattern from the object image in step S203. Information extracted inthis step is called extraction information hereinafter.

Next, the function list generation unit 24 makes a list of executablefunctions using the extraction information in step S204. The extractionof the executable functions can be performed based on the correspondencetable 120 shown in FIG. 6 like the first embodiment.

Next, the function list display unit 25 causes the operation panel 205to display a list of the executable functions in step S205.

FIG. 13 shows a display example of the list of the executable functionsin the second embodiment. The liquid crystal panel 2052 of the operationpanel 205 shown in FIG. 13 displays buttons corresponding to listedfunctions based on the extraction information as the executablefunctions, such that the user can select an execution function. Thefunction list display unit 25 determines whether each function of thelisted execution functions is actually usable in the multifunctionalmachine 20. The function list display unit 25 grays out each button(mail sending in this example) corresponding to a function determined tobe unusable such that the user cannot use the function. Alternatively,the multifunctional machine 20 may display a list of usable functions onthe liquid crystal panel 2052 such that functions extracted asexecutable functions based on the extraction information are selectablefrom the list, and that other functions are grayed out to beun-selectable. By the way, in the figure, graying out of the button isrepresented by drawing the button using dotted lines.

Next, the function selection unit 26 receives selection of an executionfunction from the user in step S206. That is, the user selects a buttoncorresponding to a function that the user wants to execute on theoperation panel 205 and clicks the execution button 2053 so that theexecution function is selected. By the way, plural execution functionsmay be selected.

When the execution button 2053 is pushed down, the function executionunit 27 determines whether at least one execution function is selectedin step S207. When at least one execution function is selected, thefunction execution unit 27 executes the function selected by the user instep S207. The multifunctional machine 20 may automatically display thelist of the executable functions after executing the function such thatthe user can select execution functions continuously. In this case, themultifunctional machine 20 may highlight the button corresponding toalready executed function, or may display a predetermined mark such thatthe user can identify already executed functions and functions not yetexecuted. When a cancel button 2054 is pushed down on, the functionexecution unit 27 ends the process without executing any function.

The first and second embodiments can be applied to an image or printedmaterial in which information is embedded by barcode.

As mentioned above, according to the information processing apparatus 10or the multifunctional machine 20 of the embodiments of the presentinvention, embedded information can be extracted from an image orprinted material, and a list showing executable functions can beprovided based on the embedded information, wherein information isembedded in the image or the printed material as a form such as digitalwatermark, barcode, or the tint block pattern and the like for which itis difficult for a human to identify. Therefore, the user can easilyidentify executable functions or services for the image or the printedmaterial, and the user can execute the functions easily. In addition,for providing a new function or service to the embedded information, itis not necessary to change the form of the embedded information. Sinceit is only necessary to change the extraction side (informationprocessing apparatus 10 or the multifunctional machine 20) of theinformation for adding the new function or service, extension of thefunction and the service can be easily performed.

By the way, the correspondence table 120 may be shared between theinformation extraction side and the information embedding side such thata function expected to be realized when the information is embedded canbe actually executed when the information is extracted. In this case,the correspondence table 120 may be included in each apparatus, or thecorrespondence table 120 may be stored in a shared storage that can bereferred to from each apparatus. The latter method is desirable in viewof easiness of maintenance work.

The present invention is not limited to the specifically disclosedembodiments, and variations and modifications may be made withoutdeparting from the scope of the present invention.

The present application contains subject matter related to Japanesepatent application No. 2005-336873, filed in the JPO on Nov. 22, 2005,and Japanese patent application No. 2006-167993, filed in the JPO onJun. 16, 2006, the entire contents of which are incorporated herein byreference.

1. An image processing apparatus for extracting embedded informationthat is embedded in an image, comprising: a central processing unit; aninformation extraction unit configured to extract the embeddedinformation from the image; a non-transitory computer readable mediumstoring a correspondence table for determining one or more executablefunctions according to a type of the embedded information, wherein thecorrespondence table includes a plurality of executable functions and aplurality of types of embedded information; an executable functiondetermination unit configured to determine the one or more executablefunctions according to the embedded information that is extracted byreferring to the correspondence table to generate a list of the one ormore executable functions; and a display unit configured to display thelist of the one or more executable functions determined by theexecutable function determination unit, said display unit having one ormore buttons corresponding to the one or more executable functions for auser to select at least one of the one or more executable functions,wherein the plurality of types of embedded information included in thecorrespondence table comprises author identification information andtime of generation information.
 2. The image processing apparatus asclaimed in claim 1, wherein the executable functions each correspond toa type of the embedded information.
 3. The image processing apparatus asclaimed in claim 2, wherein the embedded information includes at leasttype identification information for identifying the type of the embeddedinformation and data.
 4. The image processing apparatus as claimed inclaim 3, wherein the executable function determination unit determines atype of the embedded information based on the type identificationinformation so as to determine the executable function according to thetype.
 5. The image processing apparatus as claimed in claim 1, the imageprocessing apparatus further comprising a function execution unitconfigured to execute a function selected from the list of the one ormore executable functions displayed by the display unit.
 6. The imageprocessing apparatus as claimed in claim 1, wherein at least one of theplurality of executable functions is available to a user only when atleast two types of embedded information are present in the embeddedinformation from the image.
 7. An image processing method in an imageprocessing apparatus for extracting embedded information that isembedded in an image, comprising: executing an information extractionstep of extracting the embedded information from the image using acentral processing unit; executing an executable function determinationstep of determining one or more executable functions according to theembedded information that is extracted using the central processing unitby referring to a correspondence table defining executable functionscorresponding to the embedded information to generate a list of the oneor more executable functions, wherein the correspondence table includesa plurality of executable functions and a plurality of types of embeddedinformation; and executing a displaying step of displaying the list ofthe one or more executable functions determined in the executablefunction determination step using the central processing unit, andfurther displaying one or more buttons corresponding to the one or moreexecutable functions for a user to select at least one of the one ormore executable functions, wherein the plurality of types of embeddedinformation included in the correspondence table comprises authoridentification information and time of generation information.
 8. Theimage processing method as claimed in claim 7, wherein the executablefunctions each correspond to a type of the embedded information.
 9. Theimage processing method as claimed in claim 8, wherein the embeddedinformation includes at least type identification information foridentifying the type of the embedded information and data.
 10. The imageprocessing method as claimed in claim 9, wherein, in the executablefunction determination step, the image processing apparatus determines atype of the embedded information based on the type identificationinformation so as to determine the executable function according to thetype.
 11. The image processing method as claimed in claim 7, the imageprocessing method further comprising an function execution step ofexecuting a function selected from the list of the one or moreexecutable functions displayed in the display step.
 12. A non-transitorycomputer readable recording medium storing an image processing programfor causing a computer to extract embedded information that is embeddedin an image, comprising: information extraction program code means forextracting the embedded information from the image; executable functiondetermination program code means for determining one or more executablefunctions according to the embedded information that is extracted byreferring to a correspondence table defining executable functionscorresponding to the embedded information to generate a list of the oneor more executable functions, wherein the correspondence table includesa plurality of executable functions and a plurality of types of embeddedinformation; and display program code means for displaying the list ofthe one or more executable functions determined by the executablefunction determination program code means, and for displaying one ormore buttons corresponding to the one or more executable functions for auser to select at least one of the one or more executable functions,wherein the plurality of types of embedded information included in thecorrespondence table comprises author identification information andtime of generation information.
 13. The non-transitory computer readablerecording medium as claimed in claim 12, wherein the correspondencetable includes executable functions each corresponding to a type of theembedded information.
 14. The non-transitory computer readable recordingmedium as claimed in claim 13, wherein the embedded information includesat least type identification information for identifying the type of theembedded information and data.
 15. The non-transitory computer readablerecording medium as claimed in claim 14, wherein the executable functiondetermination program code means determines a type of the embeddedinformation based on the type identification information so as todetermine the executable function according to the type.
 16. Thenon-transitory computer readable recording medium as claimed in claim12, the image processing program further comprising function executionprogram code means for executing a function selected from the list ofthe one or more executable functions displayed by the display programcode means.
 17. The non-transitory computer readable recording medium asclaimed in claim 12, wherein the embedded information is embedded in theimage as digital watermark, barcode or tint block pattern.